Existence okna
Otázka od: LUKES Vaclav
8. 12. 2003 7:33
Ahoj,
muzete mi prosim poradit ?
Za behu vytvarim ruzna okna (create).
Existuje nejaka procedura nebo funkce, ktera mi rekne, jestli okno existuje ci
nikoli, jestli bylo vytvorene nebo ne ?
Diky
V.
Odpovedá: Petr Brant
8. 12. 2003 8:12
Pokud je vytvaris sam, tak neni nic jednodussiho, nez si pointery na
jednotlive instance ukladat napr. do TListu:
okno1:= TOkno1.Create(...);
SeznamOken.Add(okno1);
...
...a pak se muzes divat:
for i:= 0 to SeznamOken.Count - 1 do
if TForm(SeznamOken.Items[i])<> nil then....
Zdravim a preji uspech
RNDr. Petr Brant [brant@dcomm.cz]
http://web.redbox.cz/petr.brant <http://web.redbox.cz/petr.brant>
> Za behu vytvarim ruzna okna (create).
> Existuje nejaka procedura nebo funkce, ktera mi rekne, jestli okno
> existuje ci nikoli, jestli bylo vytvorene nebo ne ?
>
Odpovedá: Lebeda David
8. 12. 2003 8:52
> Za behu vytvarim ruzna okna (create).
> Existuje nejaka procedura nebo funkce, ktera mi rekne, jestli okno
> existuje ci nikoli, jestli bylo vytvorene nebo ne ?
Ahoj,
to dost dobre nejde, zalezi hlavne na Tvoji kazni. Pokud si odkaz na
instanci okna uchovavas v globalnich promennych, tak ti pomuze
predevsim to, ze pri kazdem Free nebo Release do te globalni
promenne strcis nil. Mozna by pomohlo to rovnou delat v OnDestroy
okna. Pokud ale muze jedno okno existovat ve vice instancich, tak ti
obycejna globalni promenna nepomuze - pak mas asi svuj vlastni
seznam. Tam plati vicemene totez, akorat uz to asi nedokazes resit
v OnDestroy a musis nil prirazovat sam. Pro otestovani existence
okna te pak uz jen zajima, zda prislusna promenna je ci neni nil.
David Lebeda
Odpovedá: Petr Fejfar
8. 12. 2003 8:51
From: "Lebeda David" <david.lebeda@comarr.cz>
> > Za behu vytvarim ruzna okna (create).
> > Existuje nejaka procedura nebo funkce, ktera mi rekne, jestli okno
> > existuje ci nikoli, jestli bylo vytvorene nebo ne ?
>
> Ahoj,
>
> to dost dobre nejde, zalezi hlavne na Tvoji kazni. Pokud si odkaz na
[...]
K tomu ucelu existuji properties TScreen.Forms[] a TScreen.CustomForms[].
Kazdy konstruktor TCustomForm automaticky vlozi instanci do seznamu a
destruktor ji vyhodi.
HTH, pf
Odpovedá: Lauko Stefan
8. 12. 2003 8:58
----- Original Message -----
From: "LUKES Vaclav" <lukes@ans.cz>
Sent: Monday, December 08, 2003 7:32 AM
> Za behu vytvarim ruzna okna (create).
> Existuje nejaka procedura nebo funkce, ktera mi rekne, jestli okno
existuje ci nikoli, jestli bylo vytvorene nebo ne ?
Screen.FormCount
Screen.Forms
Lauko.